home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1992 June: ROMin Holiday / ADC Developer CD (1992-06) (''ROMin Holiday'')_iso / Developer Connection - 06-1992.iso / Developer Essentials / MPW Interfaces & Libraries / PInterfaces / Power.p < prev    next >
Encoding:
Text File  |  1992-01-29  |  2.4 KB  |  127 lines  |  [TEXT/MPS ]

  1.  
  2. {
  3. Created: Monday, September 16, 1991 at 12:04 AM
  4.  Power.p
  5.  Pascal Interface to the Macintosh Libraries
  6.  
  7.   Copyright Apple Computer, Inc. 1989-1991
  8.   All rights reserved
  9. }
  10.  
  11.  
  12. {$IFC UNDEFINED UsingIncludes}
  13. {$SETC UsingIncludes := 0}
  14. {$ENDC}
  15.  
  16. {$IFC NOT UsingIncludes}
  17.  UNIT Power;
  18.  INTERFACE
  19. {$ENDC}
  20.  
  21. {$IFC UNDEFINED UsingPower}
  22. {$SETC UsingPower := 1}
  23.  
  24. {$I+}
  25. {$SETC PowerIncludes := UsingIncludes}
  26. {$SETC UsingIncludes := 1}
  27. {$IFC UNDEFINED UsingTypes}
  28. {$I $$Shell(PInterfaces)Types.p}
  29. {$ENDC}
  30. {$SETC UsingIncludes := PowerIncludes}
  31.  
  32. CONST
  33.  
  34. { Bit positions for ModemByte }
  35. modemOnBit = 0;
  36. ringWakeUpBit = 2;
  37. modemInstalledBit = 3;
  38. ringDetectBit = 4;
  39. modemOnHookBit = 5;
  40.  
  41. { masks for ModemByte }
  42. modemOnMask = $1;
  43. ringWakeUpMask = $4;
  44. modemInstalledMask = $8;
  45. ringDetectMask = $10;
  46. modemOnHookMask = $20;
  47.  
  48. { bit positions for BatteryByte }
  49. chargerConnBit = 0;
  50. hiChargeBit = 1;
  51. chargeOverFlowBit = 2;
  52. batteryDeadBit = 3;
  53. batteryLowBit = 4;
  54. connChangedBit = 5;
  55.  
  56. { masks for BatteryByte }
  57. chargerConnMask = $1;
  58. hiChargeMask = $2;
  59. chargeOverFlowMask = $4;
  60. batteryDeadMask = $8;
  61. batteryLowMask = $10;
  62. connChangedMask = $20;
  63.  
  64. { commands to SleepQRec sleepQProc }
  65. sleepRequest = 1;
  66. sleepDemand = 2;
  67. sleepWakeUp = 3;
  68. sleepRevoke = 4;
  69.  
  70. { SleepQRec.sleepQFlags }
  71. noCalls = 1;
  72. noRequest = 2;
  73.  
  74. slpQType = 16;
  75. sleepQType = 16;
  76.  
  77. TYPE
  78. ModemByte = Byte;
  79. BatteryByte = Byte;
  80.  
  81. PMResultCode = LONGINT;
  82.  
  83. SleepQRecPtr = ^SleepQRec;
  84. SleepQRec = RECORD
  85.  sleepQLink: SleepQRecPtr;
  86.  sleepQType: INTEGER;    {type = 16}
  87.  sleepQProc: ProcPtr;    {Pointer to sleep routine}
  88.  sleepQFlags: INTEGER;
  89.  END;
  90.  
  91.  
  92. FUNCTION DisableWUTime: OSErr;
  93. FUNCTION GetWUTime(VAR WUTime: LONGINT;VAR WUFlag: Byte): OSErr;
  94. FUNCTION SetWUTime(WUTime: LONGINT): OSErr;
  95. FUNCTION BatteryStatus(VAR Status: Byte;VAR Power: Byte): OSErr;
  96. FUNCTION ModemStatus(VAR Status: Byte): OSErr;
  97. FUNCTION IdleUpdate: LONGINT;
  98.  INLINE $A285,$2E80;
  99. FUNCTION GetCPUSpeed: LONGINT;
  100.  INLINE $70FF,$A485,$2E80;
  101. PROCEDURE EnableIdle;
  102.  INLINE $7000,$A485;
  103. PROCEDURE DisableIdle;
  104.  INLINE $7001,$A485;
  105. PROCEDURE SleepQInstall(qRecPtr: SleepQRecPtr);
  106.  INLINE $205F,$A28A;
  107. PROCEDURE SleepQRemove(qRecPtr: SleepQRecPtr);
  108.  INLINE $205F,$A48A;
  109. PROCEDURE AOn;
  110.  INLINE $7004,$A685;
  111. PROCEDURE AOnIgnoreModem;
  112.  INLINE $7005,$A685;
  113. PROCEDURE BOn;
  114.  INLINE $7000,$A685;
  115. PROCEDURE AOff;
  116.  INLINE $7084,$A685;
  117. PROCEDURE BOff;
  118.  INLINE $7080,$A685;
  119.  
  120.  
  121. {$ENDC} { UsingPower }
  122.  
  123. {$IFC NOT UsingIncludes}
  124.  END.
  125. {$ENDC}
  126.  
  127.